This invention relates generally to the field of data handling devices, and more particularly, but not by way of limitation, to a method and apparatus for embedding a product identification code in servo fields of a disc drive head-disc assembly.
Disc drives are data handling systems used to magnetically store and retrieve digital data files. A typical disc drive comprises two main assemblies: (1) a head-disc assembly constituting the major mechanical systems of the disc drive; and (2) a printed circuit board assembly which incorporates communication and control electronics for the drive.
A typical head-disc assembly (HDA) comprises a rigid base deck that cooperates with a top cover to form a sealed housing. Supported within the housing are one or more rigid magnetic storage discs arranged about a spindle motor for rotation at a constant high speed. A corresponding array of read/write heads are provided to transfer data between tracks defined on the disc surfaces and a host device (such as a computer) in which the disc drive is mounted. The heads are mounted to a rotary actuator assembly and are controllably positioned adjacent the tracks through the application of current to an actuator motor (such as a voice coil motor, VCM).
The disc drive printed circuit board assembly (PCBA) is typically mounted to an exterior surface of the HDA. The PCBA supports a top-level processor which controls disc drive operation, read/write channel circuitry used to transfer data between the host computer and the discs, and servo control circuitry which operates as a closed loop control system to control the position of the heads. The servo control circuitry detects head position from servo data stored in servo fields on the discs. The servo data are typically written to the discs during a servo track writing operation that takes place during HDA manufacturing.
In disc drives of the present generation, it is typical to use an embedded servo scheme whereby both servo data and user data are stored on each of the tracks. The servo data are typically arranged as a series of radially extending servo wedges, like spokes on a wheel. Each servo wedge comprises adjacent servo fields that are radially and angularly aligned, with one series of servo fields provided to each particular track. During a disc drive formatting operation, data fields (xe2x80x9cdata sectorsxe2x80x9d) are formed on the tracks in the areas between adjacent servo fields, with each data field configured to store a fixed-size block of data, such as 512 bytes.
The data fields are primarily provided to store user data from the user of the host device, and most of the tracks on the disc surfaces are provided for this purpose. However, it has been found advantageous to provide a small number of non-user accessible tracks at the edges of the discs (sometimes referred to as xe2x80x9chiddenxe2x80x9d or xe2x80x9cguard bandxe2x80x9d tracks). The data fields on these tracks are a convenient location to store control data to parametrically configure the disc drive electronic systems (e.g., the read/write channel and servo circuit). During an initialization routine during which the disc drive is powered up, the heads can be caused to access and load the control data into a volatile memory device (such as dynamic random access memory, DRAM) on the PCBA. Thereafter, as various heads are moved to different locations on the disc surfaces during normal drive operation, the appropriate parameters for the particular head/disc location can be loaded and used by the disc drive electronics to optimize drive performance.
In high-volume manufacturing environments in which hundreds, if not thousands of nominally identical disc drives are produced daily, it has been found advantageous to assign each HDA a unique product identification code. Such code can comprise a unique serial number and/or a configuration code indicative of a particular mechanical configuration or revision level of the HDA. Such product identification codes are often expressed as a multi-character alphanumeric code, and stored in bar-code format on an external label applied to an exterior surface of the HDA housing. In this way, optical scanners (bar code readers) can be used throughout the manufacturing process to register movement of the HDA to various manufacturing assembly and test stations. This promotes the efficient tracking of the HDA and helps ensure that appropriate operations are performed based on the particular configuration of the HDA.
It is desirable to store the product identification code within the HDA itself to allow subsequent access of the code during subsequent manufacturing and field use. One approach to storing the product information code within the HDA involves writing the code to a data sectors on a selected track, such as a non-user accessible guard band track. The product information code can then be accessed by instructing the disc drive to access the associated data sector and output the code to the host using the read/write channel circuitry. This approach is discussed, for example, by U.S. Pat. No. 6,154,790 issued Nov. 28, 2000 to Pruett, et al.
Another approach to storing the product information code within the confines of the HDA is to provide the HDA with a separate, dedicated non-volatile memory device (such as an electrically erasable, electrically programmable read only memory, EEPROM) which can be used to store and retain the product information code. A programmable processor on the disc drive PCBA can then read the dedicated non-volatile memory device in the HDA and transfer the code to the host device. This approach is discussed, for example, by U.S. Pat. No. 6,057,981 issued May 2, 2000 to Fish et al.
While operable, there are nevertheless limitations associated with these and other prior art approaches to storing a product information code within an HDA. As to the approach disclosed by Pruett et al., writing the product information code to a data sector on a hidden track generally requires the presence of the read/write channel circuitry to initially format the track to add the necessary data sectors in the area between adjacent servo fields, and then to write (and read verify) the product information code therein. However, since servo track writing is typically performed before attachment of the PCBA to the HDA, steps must be taken to connect an additional board to the HDA to provide the read/write channel electronics necessary to carry out this operation. This adds cost and delays to the manufacturing process. Moreover, such approach increases overhead in that it requires use of one or more data sectors that necessarily become unavailable for use to store user data or other control data for the drive.
Including a dedicated EEPROM within the HDA, as disclosed by Fish et al., provides advantages in that the product information code can be accessed quickly and easily without the need to first spin-up and access the discs. However, the addition of an EEPROM to the HDA undesirably adds cost to the disc drive and complexity to the programming code used by the drive.
Thus, there is a continual need for improvements in the art whereby product information relating to an HDA can be stored in and retrieved from the HDA in a fast and cost efficient manner. It is to such improvements that the present invention is directed.
The present invention is directed to an apparatus and method for writing a product information code (PIC) to a head-disc assembly (HDA) of a disc drive data handling system.
In accordance with preferred embodiments, the HDA comprises a housing which encloses a rotatable disc and a read/write head. The PIC is written to the HDA by initially configuring the code as a sequence of n multi-bit encoded words. Servo data are written to the disc as a number p of angularly spaced apart servo data fields. The servo data fields are subsequently transduced by the read/write head to provide the servo data to a servo control circuit of the disc drive to effect head positional control.
During the writing of the servo data to the disc, the n encoded words are distributed across the p servo data fields by selecting a subset of n servo data fields from the p data fields and writing each one of the n encoded words to a different one of the n servo data fields. In this way, the n encoded words replace at least a portion of the servo data in the n servo data fields.
Preferably, each of the p servo data fields comprises a Gray code field configured to store track address information for a track defined by said servo data field. The n encoded words are respectively written to the Gray code fields of the n servo data fields so that the n encoded words are provided in lieu of the track address information on the selected track.
In another related aspect, the PIC is preferably initially defined as a sequence of m typographical characters, such as alphanumeric characters 0-9, space (xe2x80x9c xe2x80x9d), and A-Z, expressed in accordance with the American Standard Code for Information Interchange (ASCII) code convention. The encoded words comprise the 7-bit ASCII code bits as well as additional parity bits formed from selected combinations of the ASCII code bits. In yet another aspect, the n encoded words include additional error correction words configured to detect and correct up to a selected number of errors during subsequent access of the n encoded words. In this way, the encoding of the initial PIC provides the resulting encoded words with error detection and correction capabilities.
The n encoded words are preferably written to non-adjacent servo data fields to enable the servo control circuit to better perform head positional control operations. To subsequently access the PIC, the head is moved to a position adjacent a selected track to which the n encoded words are stored, accumulating and decoding the encoded words, and then outputting the initial PIC to a host device.
These and various other features as well as advantages which characterize the present invention will be apparent from a reading of the following detailed description and a review of the associated drawings.